Design of communications networks

ABSTRACT

At least a part of a communications network is designed beginning with an initial network design, a set of traffic handling requirements and an initial set of design rules. Each rule includes a condition portion and an action portion and at least one such rule includes a portion expressed in terms of at least one variable parameter. An iterative procedure is implemented to evolve both a network design and a set of design rules including variations to rules from the initial rule set. A population of rule sets is generated with each rule set using a different combination of assigned parameter values. For each rule set in the population of rule sets, rules for which the condition portion is satisfied are applied to generate a modified network design. Measures of performance, including cost of each modified design are determined through simulation of the operation of the design on the basis of the traffic handling requirements and the performance and cost of different designs compared. A preferred design then forms the basis for further modified network designs and the particular rule set that generated the preferred design forms the basis of a new rule set population in the next iteration.

This application is the U.S. national phase of international applicationPCT/GB01/04136 filed 14 Sep. 2001 which designated the U.S.

BACKGROUND

1. Technical Field

This invention relates to the design of communications networks and inparticular to methods and apparatus for evolving a design for a networkusing a technique involving evolution of design rules.

2. Related Art

Design of a network architecture and configuration is a complex task,especially in respect of large data networks having, or likely torequire, a large number of nodes and interconnecting links.

A wide range of different systems have been devised to assist in thedesign of network architectures and configurations. A number of suchsystems are based upon the idea of using an expert system comprising adatabase of rules to be applied to a particular network design problem,be it the design of a new network or the modification of an existingnetwork to meet a set of customer requirements, for example a risingdemand for peak traffic capacity.

International patent application PCT/US96/09899 of Cooper et al.describes a system for selecting options for modifying a networkarchitecture in accordance with user preferences and predeterminedtraffic requirements, using a knowledge base of rules. Beginning with abaseline network architecture, rules from the knowledge base are used toselect different categories of modification that may be made to thebaseline architecture, at the same time satisfying the user preferences,and a network simulator simulates operation and performance of modifiednetworks in each category according to the predetermined trafficrequirements. Particular modification options in one or more categoriesare then selected using rules from the knowledge base, taking account ofperformance results from the network simulations and the userpreferences. Further simulation of each of the selected modificationoptions is then used to assess their performance and cost relative tothe performance and cost of the baseline architecture and so produce aranked list of options for a modified network architecture.

While a great deal of experience may be embodied a knowledge base ofrules for use in such systems, the resultant options for modification ofa network are nevertheless limited by the rule set used to devise them.

BRIEF SUMMARY

According to a first aspect of the present invention there is provided anetwork designing tool for use in designing at least a portion of acommunications network, having:

an input for receiving an initial network design and a set of trafficrequirements;

a store for storing at least one network design rule;

a rule generator for generating a population of rule sets, each rule setcomprising at least one network design rule;

a network modifier for applying rule sets generated by the rulegenerator to create at least one modified network design;

performance measurement means for calculating at least one measure ofnetwork performance in respect of a modified network design whencarrying traffic as defined by an input set of traffic requirements; and

an evaluator for comparing modified network designs using respectiveperformance measures calculated by the performance measurement means,for selecting at least one preferred network design satisfyingpredetermined performance criteria and for identifying a respective ruleset used by the network modifier to create said at least one preferrednetwork design;

wherein the rule generator is arranged to receive, from the evaluator,the identity of at least one rule set used to create a preferred networkdesign and to generate a new population of rule sets comprising rulesderived from said at least one identified rule set, and wherein thenetwork modifier is arranged to apply rule sets from said new populationof rule sets to create further modifications of said at least onepreferred network design for input to the performance measurement meansand for evaluation by the evaluator.

According to this first aspect of the present invention, beginning withan initial network design and a set of traffic handling requirements,the network designing tool is able to evolve a modification to theinitial design that not only satisfies the traffic handling requirementsbut also improves the design with respect to predetermined networkperformance criteria. Such performance criteria may be expressed interms of quality of service or cost measures, for example measuresrelating to the proportion of successful data calls, the proportion ofdata packets lost in an Internet Protocol (IP) network, or provisioncosts associated with providing new network components such as nodes andlinks or with network rearrangements.

Significantly, rather than evolving a network design solely on the basisof a fixed rule set, as in known network design tools, embodiments ofthe present invention are able to evolve a set of network design rulesfound to be most effective in generating network designs that optimisethe performance measures, for example minimising the network provisioncosts. By varying the network design rules, certain types of networkmodification that may not have been possible with a fixed rule set maybe considered, potentially leading to a particularly successful networkdesign.

An initial network design may comprise a specification of componentsforming the whole or a selected portion of an existing network thatneeds to be altered, or the initial network design may comprise simply alist of specific geographical sites suitable for siting networkequipment forming the basis for a new network or an extension orenhancement to an existing network.

According to a preferred aspect of the present invention, a networkdesign rule comprises at least one condition portion and at least oneaction portion with at least one of said portions being defined in termsof at least one variable parameter. A population of rule sets generatedby the rule generator includes rules characterised in having differentvalues assigned to said at least one variable parameter.

Rules defined using variable parameters in either a condition portion oran action portion of the rule enable rules to be represented and, usingthat representation, varied to generate a population of rule sets simplyby representing the value of each variable parameter. Certain parametervalues may be found to be particularly effective in generating a networkdesign of low cost or of higher reliability than other values. Thenetwork designer tool of the present invention enables such parametervalues to be found.

According to a further preferred aspect of the present invention, a rulecomprises a plurality of condition portions, at least one action portionand a variable weighting parameter associated with each of saidplurality of condition portions. In tha case, rule sets of thepopulation of rules sets generated by the rule generator comprise ruleshaving different values assigned to the variable weighting parameter.

A weighting parameter may also be represented in a similar way to avariable parameter within a rule portion. Indeed, rules comprisingvariable parameters within rule portions may be combined with ruleshaving variable weighting parameters assigned to condition portions,each such parameter being represented using the same representationscheme. In this way, subtle variations to a rule set may be generated toexplore the relative importance of certain network characteristics whenselecting rules for use in modifying a network design. This is aparticularly powerful technique not available in known systems withoutusing a great many predetermined rules.

In a preferred representation scheme, the rule generator is arranged togenerate a representation of each network design rule in a rule set, therepresentation comprising a binary bit string of predetermined length.The assigned value of each variable parameter of the represented networkdesign rule is represented by a predefined sub-section of the bit stringso that a population of rule sets comprises a set of said binary bitstrings in which selected bits have been altered.

Where rules have weighting parameters assigned to rule conditionportions, the rule representation preferably comprises a binary bitstring of predetermined length, the assigned value of the weightingparameter being represented by a predefined sub-section of the bitstring so that a population of rule sets comprises a set of said binarybit strings in which selected bits in the weighting parametersub-section have been altered.

In another preferred aspect of the present invention, a rule setincludes at least one fixed rule and the rule generator is arranged togenerate a representation of a fixed rule, the representation comprisinga binary bit string of predetermined length for representing a distinctrule identifier assigned to the rule. A population of rule sets thencomprises a set of said binary bit strings in which selected bits havebeen altered to identify different rules.

Besides representing rules by a simple identification scheme, classifiersystems or other techniques may be used to model a rule set to enablerule set populations to be generated and to explore the effect of thepossible rules on network design in an iterative evolution procedure.

According to a second aspect of the present invention there is provideda method of designing at least a portion of a communications network,the method comprising the steps of:

(i) inputting an initial network design comprising at least the identityof a site for locating a network node;

(ii) inputting predetermined traffic requirements relating to a networkto be designed;

(iii) inputting a rule set containing at least one rule for modifying anetwork design, said rule set including at least one rule comprising atleast one condition portion and at least one action portion with atleast one of said portions being defined in terms of at least onevariable parameter;

(iv) generating an initial population of rule sets including rulescharacterised in having different values assigned to said at least onevariable parameter;

(v) for each rule set in said population of rule sets, generating acorresponding modified network design by applying each rule from therule set to components of the initial network design for which therespective rule conditions are satisfied;

(vi) calculating at least one measure of network performance in respectof each modified network design generated at step (v) when carryingtraffic as defined by traffic requirements input at step (ii);

(vii) evaluating the modified network designs from step (v), comparingthem on the basis of said at least one respective measure of performancefrom step (vi) to identify at least one preferred network design andidentifying the corresponding network design rules used to create saidat least one preferred network design in step (v);

(viii) generating a new population of rule sets, derived from at leastone network design rule identified in step (vii);

(ix) repeating steps (v) to (viii), wherein at step (v) said at leastone preferred network design from step (vii) is modified in place of theinitial network design.

BRIEF DESCRIPTION OF THE DRAWINGS

Further aspects, features and advantages of the present invention willbe apparent from the following description of preferred embodiments ofthe invention, described by way of example only, which refers to theaccompanying drawings of which:

FIG. 1 is a schematic diagram showing a network arrangement to which thepresent invention is applied;

FIG. 2 is a schematic block diagram showing apparatus of a networkplanning tool according to the present invention;

FIG. 3 is a flow diagram showing the steps involved in generatingtraffic by a network simulator forming part of the apparatus of FIG. 2;

FIG. 4 is a schematic diagram showing the topology of the networksimulated by the network simulator forming part of the apparatus of FIG.2;

FIG. 5 is a flow diagram showing at least part of the costs incurred inmodifying a network arrangement according to the present invention; and

FIG. 6 is a flow diagram showing the processes involved in modifying anetwork arrangement according to the present invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Overview

In order to accommodate the increasing volume of IP traffic,particularly the volume of dial-up Internet calls, network design isbecoming an increasingly dynamic issue. As a result, the design ofnetworks is evolving in accordance with traffic demands. Typically thenature of such evolution involves use of a network simulator, whichsimulates projected peak demand for calls. Network simulators are usedto provide a variety of information for particular network arrangements;in the present invention a network simulator is used to evaluate theperformance of the network arrangement—i.e. how, and whether, thenetwork devices comprising the network can cope with a predetermineddemand.

Referring to FIG. 1, a typical simple communications network arrangementis shown for use in routing IP traffic between points within ageographical area 100. The network of FIG. 1 will be referred to indescribing the operation of preferred embodiments of the presentinvention below. FIG. 1 shows three so called “core” nodes A, B and Clocated at sites 101 a, 101 b and 101 c respectively. Core nodes A, Band C are fully interconnected by links 103 a, 103 b and 103 c. Two socalled “access” nodes D and E are also shown located at sites 105 a and105 b respectively, each access node being linked to its nearestrespective core node, for example access node D to core node B by meansof link 104 a. FIG. 1 also shows sites 106 representative of furtherpoints of access to the network, though without collocated access nodes.However, sites 106 represent potential geographical locations for newaccess or core nodes that may need to be provided in order for thenetwork to meet increasing traffic handling requirements. Each of thesites 105 a, 105 b and points of access 106 represent points ofaccumulated demand for access to the network from particulargeographical areas. The accumulated peak level of demand for data callsoriginating within the local area of each site 105 a, 105 b and 106 isillustrated in FIG. 1 by use of different shadings, representative inthis example of four bands of peak traffic demand.

In an embodiment of the present invention, a network simulator 201,shown in FIG. 2 of the accompanying drawings, simulates this networkarrangement. The embodiment of the present invention, generally referredto as a network planning tool 200, additionally comprises a rulegenerator 203, network design modifier 205 for modifying networkarrangement, evaluator 207 for evaluating cost associated with themodified arrangement and rule generator 203 for adapting parameterscharacterising the rules. Essentially these components interoperate asfollows:

Referring to FIG. 2, components of a network planning tool 200 are shownaccording to preferred embodiments of the present invention. The networkplanning tool 200 includes a rule store 202, a rule generator 203, anetwork design modifier 205, a network simulator 201 and an evaluator207. Operation of each of these components will be described in moredetail below. However, in overview, the rule store 202 stores, or isarranged with access to at least one planning rule for use indetermining the design of a new network or modifications to an existingnetwork. The rule generator 203 receives rules from the store 202 andgenerates variations of those rules. The network design modifier 205includes an input for receiving an initial network design, or the basisof a network design (for example a list of sites suitable for locatingnetwork nodes), and for receiving rules from the rule generator 203. Thenetwork design modifier 205 applies those rules to, in the firstinstance, the initial network design and subsequently, to a modifiednetwork design, to make modifications according to those rules. Thenetwork simulator 201 includes an input for receiving a set of trafficrequirements and for receiving network designs from the network designmodifier 205. The network simulator 201 simulates operation of eachreceived network design using the received traffic requirements andcalculates at least one predetermined measure of network performance ornetwork cost for the particular design. The evaluator 207 comparesdifferent network designs on the basis of respective performance andcost data received from the simulator 201 and identifies those designsthat appear to be most favourable, for example the least expensive toimplement. The evaluator 207 also notes the particular rules that wereinvolved in generating the most favourable network designs and outputsthose designs and associated rules, in particular passing references tothe most effective rules to the rule generator 203 to trigger subsequentuse of those rules or storage in the rule store 202.

Network Simulator 201

Many telecommunications network management and design problems requirethe simulation of a communications network in order to assess the“quality” of a given network arrangement. The network simulator 201 ofthis embodiment allows network devices to be combined in numerous ways.For instance, nodes, links between nodes and capacities of the links canall be manipulated, and routing tables, which determine routingstrategies within the network, can be generated. Routing strategies canbe “plugged” into a network device (node), and the nodes includespecifications for parameters such as speed at which traffic can berouted through the node, size and configuration of data queues and thephysical space required to accommodate the node.

The network simulator 201 includes a traffic generator 201 a, which caninput a traffic profile—a simulated timetable of traffic events—to thenetwork simulator 201, and can operate in accordance with a flexibleevent-driven model and schedule. Simulation of traffic can involve theuse of a probability distribution function (Poisson distribution—used tomodel circuit switched traffic, so maybe not so relevant here) or someother algorithmic process (e.g. fractional Brownian motion, chaotic mapsand other self-similar pattern generators) that captures the observedstructure in the data or models the generating mechanism. In some casesreal data may be available, in which case the generator is able to loadand use this data directly.

The traffic generator 201 a produces events in accordance with apredetermined traffic profile. The events comprising the traffic profileare generated when, for example, a user requests a connection or whenpackets of data arrive. These events typically do not occur in isolationbut are constrained and triggered by other events—e.g. a high-levelevent could trigger a cascade of other events with the eventual resultbeing the generation of a call or data. For example when a dial-up callcannot be routed directly to a core node 101 a, the call is routed viathe PSTN. In this situation a data call over the PSTN requiressimulating. A number of events are important for this simulation, forexample, the dial request, the duration of the call and the arrival timeof data packets for that call.

Referring to FIG. 3, a user request S 3.1 may be generated via a Poissondistribution and the acceptance of a call S 3.2 is likely to bedetermined by conditions in the simulated network. Once a call has beenaccepted, a call initiation event begins S 3.3. The call initiationevent then triggers a call duration mechanism S 3.4, which may generatea call termination event S 3.6 for sometime in the future using, forexample, a heavy-tailed distribution. The call initiation event alsotriggers S 3.5 a packet generation mechanism, which is terminated by thecall termination event. In between the call initiation and calltermination, the packet generation mechanism is arranged to generateself-similar packet streams that are fed into the simulated network.

The general mechanism for transferring traffic events between networkdevices in the simulated network includes a combination of thefollowing:

-   -   a. The traffic generator 201 a produces (software) events that        can be listened to by any of the network devices in the        simulated network;    -   b. The traffic generator 201 a is arranged to receive        device-dependent data and makes decisions on routing of traffic        based on the ability, or otherwise, of a network device to        accept data.

The call initiation event on an IP node is dependent, at least in part,on the number of free ports at the node 101 a. While a node 101 a hasone or more free ports, those ports listen for incoming call requests;however, once all of the ports are occupied, the node is working at fullcapacity, and cannot accept any more data. In the latter situation thetraffic generator receives the status of that node and does not send arequest for a call set-up until the node has a free port again.

Packet switched networks include data from different sources, eachpotentially transmitting data via different protocols. This has thepotential to create a range of different behaviours at the packet level,each of which could be modelled by a dedicated protocol-type component.Thus the traffic generator is arranged to model traffic at anapplication level with, for example, www, ftp and telnet trafficmodelled separately; or at a user level, with different usercharacteristics creating different demands; or at a protocol level withseparate UDP and TCP traffic sources.

The network simulator 201 makes use of both graph space and Cartesianspace. The former allows the logical topology of the network to bedefined and the latter allows network devices to be placed at precisegeographical locations and thus provides information regarding thegeographical proximity of nodes and other network equipment. Thisinformation is required by the network design modifier 205 to makedecisions about the placement of new network devices (see below).

As shown in FIG. 4, the topology of the simulated network includes IPnetwork nodes 401 and links 403 and PSTN (Public Switched TelephoneNetwork) nodes 405 and links 407, and the PSTN is interconnected withthe IP network by means of Gateway G1.

The network planning tool 200 evaluates network designs for quality ofservice and costs incurred. This includes quantifying both the cost ofany additional hardware and the quality of service that has beenachieved for a predetermined traffic profile.

One way in which the quality of service can be quantified is byidentifying the number of dial-up calls that the network failed toestablish, and associating a cost with the identified failed calls. Ifthere is demand for a dial-up call at a site, but there are noco-located IP nodes, the network simulator 201 routes the call to anearest IP access or core node via a PSTN node (shown in FIG. 4) on thesite; each dial-up call routed this way incurs a particular cost. If thedial-up call is routed to an access node that has no spare capacity toaccept the call, the call is routed, via PSTN, to the closest core node;this additional routing incurs a yet higher cost. The network simulator201 therefore maintains a record of the way in which calls areprocessed; for example, and with reference to FIG. 5, the networksimulator 201 can typically be expected to perform the followinganalysis and record the results of the analysis:

-   -   S 5.1 Is there an IP node available on the site? If YES proceed        to S5.3 to check capacity. If NO, go to S 5.2    -   S 5.2 Route the call via the PSTN to the geographically nearest        IP node. Set cost to C1    -   S 5.3 Is the IP node at full capacity? If NO, Connect Call with        cost C1. If YES, go to S 5.4    -   S 5.4 Is the IP node an Access node? If NO, Drop Call and set        cost to C3. If YES, proceed to S 5.5    -   S 5.5 Route the call via the PSTN to the nearest Core node. Set        the cost to C2    -   S 5.6 Is the Core node at full capacity? If YES, Drop Call and        set cost to C3. If NO, Connect Call with cost C2.

Thus dial-up calls are routed via the PSTN until an available entry intothe IP network is found. If the call reaches one of the core IP nodesand a call still cannot be established, the call is dropped. Note thatwhen a dial-up call fails, this is typically because the nodes receivingthe call are operating at full capacity.

Rule Generator 203

The rule generator 203 generates rules that are used in the planning ofnetwork growth. Rule store 202 stores the basic syntax of the rules, foraccess by the generator 203. The rules take account of the demand at asite and the proximity of other nodes, e.g. (X and Y are parameters):If (Demand>X) AND (Distance to Nearest Node>Y) THEN (ADD an accessnode)  (R1)

In order to distinguish the significance of one parameter from another,scaling parameters λ,θ can be applied. These scaling parameters weightthe relative contribution of demand and distance, so that the factorthat is of most importance (having a higher weight) dominates theevaluation of R1. When R1 includes the scaling parameters, R1 can beexpressed as:(Demand−X)×λ, +(Distance to Nearest Node−Y)×θ=PWhere if P>0 THEN (ADD an access node)

Typically the rule generator 203 outputs between 15 and 25 variants ofeach rule—i.e. for each rule the values of the parameters X, Y, λ,θ areassigned between 15 and 25 different values, thereby generating 15-25variations of the rule. All of these variations are input to networkdesign modifier 205, and are evaluated by evaluator 207 as describedbelow.

Rule R1 is applied equally to all of the sites, but different rulescould be used for different sites, and different conditions (i.e. otherthan demand and distance) could be used to characterise the rules. Forexample, different geographical areas, such as London, could requirespecial consideration. In the case of London, where demand isproportionately higher than other parts of the country, it is likelythat a special set of rules would be applicable to London sites.

In addition to adding nodes, rules could be added that control thedeletion of nodes, so that if demand were to fall below a predeterminedthreshold at a site, nodes would be deleted at that site.

Selecting, or altering, values for the parameters of the rules caninvolve use of a Genetic Algorithm (GA), or another suitable searchalgorithm. It would be clear to one with ordinary skill in the art thata range of suitable search algorithms could be used for this purpose,and selection of a suitable strategy is determined by the ability of thestrategy to search a given space, which in this embodiment is given bythe representation of the problem. Alternatives to using a GA include arandomiser, an evolutionary strategy, where the mutation rate co-evolveswith the solution and there is no population, or a local search method.The operating parameters for a GA are likely to be determined bycomputation overheads and the nature of the problem, so that thepopulation size is restricted only by computational overheads, and amutation rate is selected dependent on the form of the problem (thegenome). Crossover, as a means for generating changes within thepopulation of solutions, is optional. For the example rule R1 givenabove, the parameters of the rule R1 can be encoded into a chromosome;specifically each of X, Y, λ,θ is represented using a 5-bit binarystring, producing a chromosome of 20 bits. The parameters may berepresented as real values with assigned ranges or they may berepresented as binary strings. In the former case, each of theparameters is assigned a minimum and maximum value and the 5-bitrepresentation is quantised into 32 levels, for example:

-   -   X (demand): 0 to 1500,    -   Y (distance): 0 to 50 (the maximum possible distance between        sites in the simulation)    -   λ,θ (weighting parameters): 0 to 5.        As an example of a suitable search strategy, rule generator 203        can use the genetic algorithm described in Adaptation in Natural        and Artificial Systems, by John H. Holland, published by MIT        Press, 1994, with roulette wheel selection, a population size of        20, a per-bit mutation rate of 0.01 and single-point crossover        rate of 0.7 to alter the parameters in the rules.

As described above, between 15 and 25 different values of parameters X,Y, λ,θ are generated and evaluated for each rule, so that, for each rulethere are 15-25 network arrangements and a corresponding number ofnetwork evaluations. In a first arrangement, the rule generator 203modifies each of these parameter values so that a further 15 to 25variations, each based on their original values, of the rule R1 aregenerated. In a second arrangement, only the parameter values thatyielded the lowest cost are selected, and these parameter values areused to generate a further 15 to 25 variations. Other variations ofselection schemes, based on information gathered from the evaluator 207,are possible.

Network Design Modifier 205

Network design modifier 205 applies the rules in an iterative manner inaccordance with a predetermined procedure and thereby modifies thetopology of the network. The network design modifier 205 receives datarelating to each site in the form of an initial network design, so thatthe demand and distance data is known. The procedure is described inFIG. 6 and comprises the following steps (references to R1 apply to allof the variations of R1):

-   -   S 6.1 Apply R1 to each site. If P<0, Exit, else go to Step S        6.2;    -   S 6.2 Note sites where P>0, and list the sites in order of        demand and distance from a node (i.e. highest values of P at the        top);    -   S 6.3 Identify the site at the top of the list and send an        instruction to the network simulator 201 to add an access node        to that site.    -   S 6.4 Instruct the network simulator to link the added node to        the nearest core node;    -   S 6.5 Return to step S 6.1        For situations where there is a plurality of rules, and where        different rules apply to different sites, it is possible that        the procedure outlined above may be stuck in an infinite loop.        In this case suitable additional termination criteria is        required.        Evaluator 207

The record maintained by the network simulator 201, which documents theway in which calls are processed, is input to evaluator 207. Evaluator207 then reads the various costs incurred when trying to set up calls,and evaluates the overall cost associated with the network. Each newaccess node incurs cost C4; and each link that results from the additionof a new node between access node and core node incurs cost C5. Theactual values of the costs C1-C5 (C1, C2, C3 being the costs incurred inaccordance with FIG. 5) are arrangement specific, and are measured inrelative terms, such that neither the absolute values, nor the unitsused, are important. In terms of orders of magnitude, the cost of anaccess node (C4)=800; the cost of a link (C5)=25 per unit length, havinga maximum length set to 50 units; the cost of each dropped call (C3)=10and; the cost of each individual PSTN routing (C1, C2)=5.

The cost associated with a network design is input to the rule store202, and stored as a performance measure for the corresponding rule, orparticular form of the corresponding rule (e.g. parameterscharacterising a rule). The rule generator 203 thus has access to aperformance measure for rules and/or particular forms of the rules, andthe performance measure is used to identify which rules to use as abasis for generation of new rules.

In summary, the present embodiment applies a genetic algorithm togenerate a plurality of parameter values, and thus rule conditions.These rule conditions are used to generate a plurality of modifiednetwork arrangements, as described with reference to FIG. 6, and each ofthese network arrangements are evaluated to establish the costsassociated therewith. The evaluation process accounts for themodification of the network arrangement by addition and/or deletion ofnetwork devices. Furthermore by factoring in dropped packets and packetsrouted via the PSTN (FIG. 5), the evaluation process additionallyaccounts for the quality of service provided by the network. Thus theoutput of the evaluation (network cost) can be used to compare networkarrangements.

Implementation:

The network planning tool 200 described above can be built and run onthe “Eos” evolutionary and ecosystem research platform, which is a “plugand play” design environment implemented using the Java™ programminglanguage. Further details can be found in “Eos, an Evolutionary Toolkitin Java”, Erwin Bonsma, presented at PECTEL 4, Colchester, England,December 1999.

The processes carried out by the network design modifier 205, theevaluator 207 and the rule generator 203 involve computationallyintensive calculations. Multiple computers can be used to distribute theworkload to allow simulations to be distributed over multipleprocessors. Two mechanisms can be used internally within Eos to supportthis parallelism: Java™ RMI (remote method invocation) or the Voyagerdistributed agent toolkit (ObjectSpace. Voyager ORB. WWW:http://www.objectspace.com/products/prodVoyager.asp). These mechanismscan be used to distribute the processing carried out by the networkplanning tool 200 over a 36-processor Beowulf cluster of PCs runningunder the Linux operating system (Wollesen, E. A; Krakowiak, N; andDaida, J. M. 1999, Beowulf Anytime for Evolutionary Computation. In Latebreaking papers at GECCO 1999. 298-304. Orlando, Fla. GECCO 1999).

Additional Details and Modifications:

The rule generator 203 can be arranged to co-operate with means foradaptively selecting both rules and parameters of the rules. Inparticular the selection can involve use of a genetic algorithm, orsimilar. For example, suppose each rule can take one of 10 differentforms, and that each of those forms can be represented by a numberbetween 1 and 10 (so there is a look-up table between the rule form andnumbers between 1 and 10). If there is a plurality of rules, arepresentation of each rule (i.e. a number between 1 and 10) can occupya gene in a chromosome. A genetic algorithm can then be applied to thatchromosome, so that the gene values change. Depending on the gene value,(i.e. number between 1 and 10), a particular form of each of the ruleswill be used, and this defines the selection of rules to be applied fornetwork design. The same approach could be applied to actual selectionof rules themselves—the number between 1 and 10 could represent 10different rules, so that the value of the gene in the chromosomeidentifies which of the rules are to be used.

As will be understood by those skilled in the art, the inventiondescribed above may be embodied in one or more computer programs. Theseprogrammes can be contained on various transmission and/or storagemediums such as a floppy disc, CD-ROM, or magnetic tape so that theprogrammes can be loaded onto one or more general purpose computers orcould be downloaded over a computer network using a suitabletransmission medium.

Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise”, “comprising” and thelike are to be construed in an inclusive as opposed to an exclusive orexhaustive sense; that is to say, in the sense of “including, but notlimited to”.

1. A network designing tool for use in designing at least a portion of acommunications network, said tool comprising: an input for receiving aninitial network design and a set of traffic requirements; a store forstoring at least one network design rule; a rule generator forgenerating a population of rule sets, each rule set having an identity,and each rule set comprising at least one network design rule; a networkmodifier for applying rule sets generated by the rule generator tocreate at least one modified network design; performance measurementmeans for calculating at least one measure of network performance inrespect of a modified network design when carrying traffic as defined byan input set of traffic requirements; and an evaluator for assessingmodified network designs using respective performance measurescalculated by the performance measurement means, for selecting at leastone preferred network design satisfying predetermined performancecriteria and for identifying a respective rule set used by the networkmodifier to create said at least one preferred network design; whereinthe rule generator is arranged to receive, from the evaluator, theidentity of at least one rule set used to create a preferred networkdesign and to generate a new population of rule sets comprising rulesderived from said at least one rule set, and wherein the networkmodifier is arranged to apply rule sets from said new population of rulesets to create further modifications of said at least one preferrednetwork design for input to the performance measurement means and forevaluation by the evaluator.
 2. A network designing tool as in claim 1,wherein a network design rule comprises at least one condition portionand at least one action portion with at least one of said portions beingdefined in terms of at least one variable parameter, and wherein thepopulation of rule sets generated by the rule generator includes rulescharacterized in having different values assigned to said at least onevariable parameter.
 3. A network designing tool as in claim 2, whereinthe network modifier is arranged to test each condition portion of arule in a rule set generated by the rule generator and to apply onlythose rules in the rule set to modify aspects of the network design forwhich each said rule condition is satisfied.
 4. A network designing toolas in claim 2, wherein: the rule generator is arranged to generate arepresentation of each network design rule in a rule set, therepresentation comprising a binary bit string of predetermined length,the assigned value of each variable parameter of the represented networkdesign rule being represented by a predefined sub-section of the bitstring, and the population of rule sets comprises a set of said binarybit strings in which selected bits have been altered.
 5. A networkdesigning tool as in claim 4, arranged to operate a genetic optimizationprocedure for evolution of a network design, wherein the rule generatoris arranged to generate the new population of rule sets at eachiteration of the procedure comprising rules derived from said at leastone rule set using genetic operators to alter bit values in a bit stringrepresentation of rules in said at least one rule set.
 6. A networkdesigning tool as in claim 1, wherein a rule comprises a plurality ofcondition portions, at least one action portion and a variable weightingparameter associated with each of said plurality of condition portions,and wherein rule sets of said population of rules sets generated by therule generator comprise rules having different values assigned to saidvariable weighting parameter.
 7. A network designing tool as in claim 6wherein: the network modifier is arranged to test each condition portionof a rule in a rule set generated by the rule generator and to applyonly those rules in the rule set to modify aspects of the network designfor which each said rule condition is satisfied; and the networkmodifier is arranged, when testing each condition portion of a rule, touse respectively assigned weighting parameter values to calculate ameasure of the extent to which the weighted rule condition portions aresatisfied in respect of a network design to be modified and to modifythe network design using only those rules in the rule set for which theweighted rule conditions are most strongly satisfied.
 8. A networkdesigning tool as in claim 6, wherein: the rule generator is arranged togenerate a representation of each network design rule having thevariable weighting parameter associated with a condition portion of therule, the representation comprising a binary bit string of predeterminedlength, the assigned value of the weighting parameter being representedby a predefined sub-section of the bit string, and the population ofrule sets comprises a set of said binary bit strings in which selectedbits in the weighting parameter sub-section have been altered.
 9. Anetwork designing tool as in claim 1, wherein: a rule set includes atleast one fixed rule and wherein the rule generator is arranged togenerate a representation of a fixed rule, the representation comprisinga binary bit string of predetermined length for representing a distinctrule identifier assigned to the rule, and the population of rule setscomprises a set of said binary bit strings in which selected bits havebeen altered to identify different rules.
 10. A network designing toolaccording to claim 1, wherein: the population of rule sets generated bythe rule generator comprises a single rule set, and the evaluatorcompares the performance of a first modified network design created byapplication of said single rule set with the performance of a secondmodified network design generated by an earlier rule set and retains oneof said first and second modified network designs as the preferrednetwork design using respective performance measures calculated by theperformance measurement means.
 11. A network designing tool as in claim1, wherein the at least one modified network design includes therelocation, addition or deletion of at least one communication networknode.
 12. A network designing tool as in claim 1, wherein the at leastone modified network design including relative respective locations ofplural nodes, and links between nodes.
 13. A method of designing atleast a portion of a communications network, the method comprising: (i)receiving an initial network design comprising at least an identity of asite for locating a network node; (ii) receiving predetermined trafficrequirements relating to a network to be designed; (iii) receiving arule set containing at least one rule for modifying a network design,said at least one rule comprising at least one condition portion and atleast one action portion with at least one of said portions beingdefined in terms of at least one variable parameter; (iv) generating aninitial population of rule sets including rules characterized in havingdifferent values assigned to said at least one variable parameter; (v)for each rule set in said population of rule sets, generating acorresponding modified network design by applying each rule from therule set to components of the initial network design for which therespective rule conditions are satisfied; (vi) calculating at least onemeasure of network performance in respect of each modified networkdesign generated at step (v) when carrying traffic as defined by trafficrequirements received at step (ii); (vii) evaluating the modifiednetwork designs from step (v), assessing them on the basis of said atleast one respective measure of performance from step (vi) to identifyat least one preferred network design and identifying the correspondingnetwork design rules used to create said at least one preferred networkdesign in step (v); (viii) generating a new population of rule sets,derived from at least one network design rule identified in step (vii);(ix) repeating steps (v) to (viii), wherein at step (v) said at leastone preferred network design from step (vii) is modified in place of theinitial network design.
 14. A method as in claim 13, wherein thecorresponding modified network design includes the relocation, additionor deletion of at least one communication network node.
 15. A method asin claim 13, wherein the corresponding modified network design includingrelative respective locations of plural nodes, and links between nodes.16. A method of generating a design for at least one communicationsnetwork, said method comprising: (i) inputting an initial network designcomprising at least an identity of a site for locating a network node;(ii) inputting predetermined traffic requirements relating to a networkto be designed; (iii) inputting a rule set containing at least one rulefor modifying a network design, said rule set including at least onerule comprising at least one condition portion and at least one actionportion with at least one of said portions being defined in terms of atleast one variable parameter; (iv) generating an initial population ofrule sets including rules characterized in having different valuesassigned to said at least one variable parameter; (v) for each rule setin said population of rule sets, generating a corresponding modifiednetwork design by applying each rule from the rule set to components ofthe initial network design for which the respective rule conditions aresatisfied; (vi) calculating at least one measure of network performancein respect of each modified network design generated at step (v) whencarrying traffic as defined by traffic requirements input at step (ii);(vii) evaluating the modified network designs from step (v), assessingthem based on said at least one respective measure of performance fromstep (vi) to identify at least one preferred network design andidentifying the corresponding network design rules used to create saidat least one preferred network design in step (v); (viii) generating anew population of rule sets, derived from at least one network designrule identified in step (vii); (ix) repeating steps (v) to (viii),wherein at step (v) said at least one preferred network design from step(vii)is modified in place of the initial network design, until at step(vii) at least one preferred network design is identified satisfyingpredetermined performance criteria.
 17. A method as in claim 16, furtherincluding: (x) storing the network design rules identified at step(vii), used to create the at least one preferred network designidentified at step (ix), for use as input at step (iii) in a furtheroperation of the method.
 18. A method as in claim 17, wherein thecorresponding modified network design includes the relocation, additionor deletion of at least one communication network node.
 19. A method asin claim 16, wherein the corresponding modified network design includesthe relocation, addition or deletion of at least one communicationnetwork node.
 20. A method as in claim 16, wherein the correspondingmodified network design including relative respective locations ofplural nodes, and links between nodes.